﻿
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace MoreDots.SpellNames.Classes
{
    public class PugilistSpells : SpellBook
    {
        public static Spell Bootshine
        {
            get
            {
                return new Spell() { Name = "Bootshine", Level = 1 };
            }
        }
        public static Spell TrueStrike
        {
            get
            {
                return new Spell() { Name = "True Strike", Level = 2 };
            }
        }
        public static Spell Featherfoot
        {
            get
            {
                return new Spell() { Name = "Featherfoot", Level = 4 };
            }
        }
        public static Spell SnapPunch
        {
            get
            {
                return new Spell() { Name = "Snap Punch", Level = 6 };
            }
        }
        public static Spell SecondWind
        {
            get
            {
                return new Spell() { Name = "Second Wind", Level = 8 };
            }
        }
        public static Spell Haymaker
        {
            get
            {
                return new Spell() { Name = "Haymaker", Level = 10 };
            }
        }
        public static Spell InternalRelease
        {
            get
            {
                return new Spell() { Name = "Internal Release", Level = 12 };
            }
        }
        public static Spell TouchOfDeath
        {
            get
            {
                return new Spell() { Name = "Touch of Death", Level = 15 };
            }
        }
        public static Spell TwinSnakes
        {
            get
            {
                return new Spell() { Name = "Twin Snakes", Level = 18 };
            }
        }
        public static Spell FistsOfEarth
        {
            get
            {
                return new Spell() { Name = "Fists Of Earth", Level = 22 };
            }
        }
        public static Spell ArmOfTheDestroyer
        {
            get
            {
                return new Spell() { Name = "Arm Of The Destroyer", Level = 26 };
            }
        }
        public static Spell Demolish
        {
            get
            {
                return new Spell() { Name = "Demolish", Level = 30 };
            }
        }
        public static Spell FistsOfWind
        {
            get
            {
                return new Spell() { Name = "Fists Of Wind", Level = 34 };
            }
        }
        public static Spell SteelPeak
        {
            get
            {
                return new Spell() { Name = "Steel Peak", Level = 38 };
            }
        }
        public static Spell Mantra
        {
            get
            {
                return new Spell() { Name = "Mantra", Level = 42 };
            }
        }
        public static Spell HowlingFist
        {
            get
            {
                return new Spell() { Name = "Howling Fist", Level = 46 };
            }
        }
        public static Spell PerfectBalance
        {
            get
            {
                return new Spell() { Name = "Perfect Balance", Level = 50 };
            }
        }

        public class CrossClass
        {
            public static Spell Foresight
            {
                get
                {
                    return MarauderSpells.Foresight;
                }
            }
            public static Spell SkullSunder
            {
                get
                {
                    return MarauderSpells.SkullSunder;
                }
            }
            public static Spell Fracture
            {
                get
                {
                    return MarauderSpells.Fracture;
                }
            }
            public static Spell Bloodbath
            {
                get
                {
                    return MarauderSpells.Bloodbath;
                }
            }
            public static Spell MercyStroke
            {
                get
                {
                    return MarauderSpells.MercyStroke;
                }
            }
            public static Spell Invigorate
            {
                get
                {
                    return LancerSpells.Invigorate;
                }
            }
            public static Spell Feint
            {
                get
                {
                    return LancerSpells.Feint;
                }
            }
            public static Spell KeenFlurry
            {
                get
                {
                    return LancerSpells.KeenFlurry;
                }
            }
            public static Spell RagingStrikes
            {
                get
                {
                    return ArcherSpells.RagingStrikes;
                }
            }
            public static Spell VenomousBite
            {
                get
                {
                    return ArcherSpells.VenomousBite;
                }
            }
            public static Spell HawksEye
            {
                get
                {
                    return ArcherSpells.HawksEye;
                }
            }
            public static Spell BloodForBlood
            {
                get
                {
                    return LancerSpells.BloodForBlood;
                }
            }
            public static Spell ImpulseDrive
            {
                get
                {
                    return LancerSpells.ImpulseDrive;
                }
            }
            public static Spell Convalescence
            {
                get
                {
                    return GladiatorSpells.Convalescence;
                }
            }

            public static Spell Awareness
            {
                get
                {
                    return GladiatorSpells.Awareness;
                }
            }

            public static Spell Cure
            {
                get
                {
                    return ConjurerSpells.Cure;
                }
            }

            public static Spell Stoneskin
            {
                get
                {
                    return ConjurerSpells.Stoneskin;
                }
            }

            public static Spell Protect
            {
                get
                {
                    return ConjurerSpells.Protect;
                }
            }

            public static Spell Physick
            {
                get
                {
                    return ArcanistSpells.Physick;
                }
            }

            public static Spell Virus
            {
                get
                {
                    return ArcanistSpells.Virus;
                }
            }
        }
    }
}
